package com.googlecode.gwtbb.client.shared.remote.search;

import java.util.List;

/**
 * @author Abraham Grief
 * @version $Id$
 * @since Jul 29, 2008
 */
public interface SearchResults<R> {
	/**
	 * @return the maximum number of results to return when the query was given
	 */
	int getMaxNumResults();

	/**
	 * @return the number of known matching items
	 */
	int getNumTotal();

	/**
	 * @return the original query string
	 */
	String getQueryString();

	/**
	 * @return the search rank of the first item in results
	 */
	int getRank();

	/**
	 * @return a list of some of the matching items
	 */
	List<R> getResults();

	void setMaxNumResults(int maxNumResults);

	void setNumTotal(int numTotal);

	void setQueryString(String queryString);

	void setRank(int rank);

	void setResults(List<R> results);
}
